import {defineConfig, loadEnv} from 'vite';

export default defineConfig(() => {
  // Vite为防止配置冲突解析env文件得到的环境变量不会被直接注入到process对象的env属性中
  console.log(process.env.PREFIX_NAME); // undefined
  
  // 配置冲突问题：Vite的root和envDir配置会影响到env文件的加载，当defineConfig返回后root和envDir配置才会生效才知道到底该加载哪个env文件，在此之前读取env文件无任何意义
  // 配置冲突问题又可解释为Vite生命周期，vite.config.js配置文件先于env环境文件
  
  // 通过Vite的loadEnv手动确认env文件，loadEnv参数分别为模式mode、env文件所在目录path和被暴露环境变量的前缀prefix
  const env = loadEnv('test', './', 'PREFIX');
  console.log(env); // { PREFIX_NAME: '自定义', PREFIX_ENV: 'env', PREFIX_TEST: 'test' }
  
  return {
    root: '',
    envDir: ''
  };
});